package com.paradogs.gs.db;

import com.baidu.bjf.remoting.protobuf.annotation.ProtobufClass;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.Fastjson2TypeHandler;
import com.gitee.sunchenbin.mybatis.actable.annotation.ColumnType;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import com.paradogs.gs.misc.BaseMgrEntity;
import com.paradogs.gs.misc.annotations.CodeAutoGeneratorModule;
import com.paradogs.gs.modules.equip.dao.EquipWrap;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * @author: yumi
 * @date: 2024/10/23  21:34
 * @Description: 装备穿戴
 */
@CodeAutoGeneratorModule("equip")
@Data
@AllArgsConstructor
@NoArgsConstructor
@ProtobufClass
@EqualsAndHashCode(callSuper = true)
@TableName(value = "mgr_equip_base", autoResultMap = true)
public class EquipBase extends BaseMgrEntity {

    /** 武器 */
    @ColumnType(value = MySqlTypeConstant.VARCHAR, length = 1024)
    @TableField(value = "weapon", typeHandler = Fastjson2TypeHandler.class)
    private EquipWrap weapon;

    /** 头部 */
    @ColumnType(value = MySqlTypeConstant.VARCHAR, length = 1024)
    @TableField(value = "head", typeHandler = Fastjson2TypeHandler.class)
    private EquipWrap head;

    /** 上身 */
    @ColumnType(value = MySqlTypeConstant.VARCHAR, length = 1024)
    @TableField(value = "body", typeHandler = Fastjson2TypeHandler.class)
    private EquipWrap body;

    /** 腰部 */
    @ColumnType(value = MySqlTypeConstant.VARCHAR, length = 1024)
    @TableField(value = "waist", typeHandler = Fastjson2TypeHandler.class)
    private EquipWrap waist;

    /** 手部 */
    @ColumnType(value = MySqlTypeConstant.VARCHAR, length = 1024)
    @TableField(value = "glove", typeHandler = Fastjson2TypeHandler.class)
    private EquipWrap glove;

    /** 靴子 */
    @ColumnType(value = MySqlTypeConstant.VARCHAR, length = 1024)
    @TableField(value = "shoe", typeHandler = Fastjson2TypeHandler.class)
    private EquipWrap shoe;

}
